package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.RoomBean;
import com.project.bean.StudentBean;

import java.util.List;

/**
 * 房间业务接口
 */
public interface IRoomService {
    /**
     * 按页吗，房间地址，房间状态，房间可住不可住，房间类型进行分页动态模糊查询
     * 同时统计每个房间的已住人数。
     * @param pageNo 页码
     * @param roomName 房间地址
     * @param roomState 房间状态
     * @param into 房间可住不可住
     * @param roomSex 房间类型
     * @return 分页房间集合
     */
    public IPage<RoomBean> findByItem(Integer pageNo, String roomName, String roomState, String into, String roomSex);

    /**
     * 按id查询房间 同时查询该房间学生信息，统计已住人数
     * 在学生信息中，需要查询学生所在班级名称。
     * @param id 房间id
     * @return 房间对象
     */
    public RoomBean findById(Integer id);

    /**
     * 按id删除房间，同时统计房间已住人数，为0删除成功，同时删除房间的设施维护信息，返回true，
     * 否则失败，返回false。
     * @param id 房间id
     * @return 删除成功与否。
     */
    public boolean del(Integer id);

    /**
     * 添加
     * @param room 房间对象
     */
    public void add(RoomBean room);

    /**
     * 根据类型查询房间集合
     * @param sex 类型
     * @return 房间集合
     */
    public List<RoomBean> findBySex(String sex);
}
